Reproducible Research is Research Software Engineering

David Mawdsley, Robert Haines and Caroline Jay

RSE 2017 Conference

Caroline’s part

  • Set background etc.

David’s part

Self-contained reproducible research papers

  • Easier
  • Everything is in R; only external dependency is the data
  • In principle (pretty much) a solved problem
    • Some friction points:
    • package versions (thow everything in Docker / Packrat)
    • getting tables how you want them
    • collaboration; e.g. working with Overleaf

What if you can’t do everything in R?

  • Here there be dragons
  • Complex dependencies
  • Time consuming-analyses
  • Long pipelines

Our approach

  • Make modular by containerising each step
  • Reusable, reproducible
  • The final module makes the paper
  • Join outputs of containers with Makefile

Example - IDInteraction

  • Automate the coding of behaviours
  • This is really slow and tedious to do by hand.

Docker images

  • Each module contains its own Makefile
  • Example: object tracking

Docker images

  • Each module contains its own Makefile
  • Example: object tracking

Docker images

  • Each module contains its own Makefile
  • Example: object tracking

Challenges

Additional complexity Building the paper can be a challenge even with Docker

Benefits

  • Transparency
  • Every figure can be traced back to its source
  • Reusability and extensibility
  • RSE is an integral part of the paper production process ==> appropriate credit

Caroline’s wrap up

  • Conclusions